home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 125 / Computer Shopper CD-ROM Issue 125 (1998-07)(Dennis Publishing).iso / Business / Dazzler / DAZZLER.Z / CStringArray.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-26  |  1.7 KB  |  146 lines

  1. import java.io.DataInputStream;
  2.  
  3. class CStringArray {
  4.    private String[] m_strArray;
  5.    private int m_nNoElements;
  6.  
  7.    void SetSize(int var1) {
  8.       this.m_strArray = new String[var1];
  9.       this.m_nNoElements = var1;
  10.    }
  11.  
  12.    String GetAt(int var1) {
  13.       String var2;
  14.       try {
  15.          var2 = this.m_strArray[var1];
  16.       } catch (ArrayIndexOutOfBoundsException var3) {
  17.          var2 = "";
  18.       }
  19.  
  20.       return var2;
  21.    }
  22.  
  23.    boolean InsertAt(int var1, String var2) {
  24.       boolean var3 = false;
  25.       if (var1 >= 0) {
  26.          if (var1 > this.m_nNoElements - 1) {
  27.             var3 = this.SetAtGrow(var1, var2);
  28.          } else {
  29.             String[] var4 = new String[this.m_nNoElements];
  30.             System.arraycopy(this.m_strArray, 0, var4, 0, this.m_nNoElements);
  31.             this.m_strArray = new String[this.m_nNoElements + 1];
  32.             if (this.SetAt(var1, var2)) {
  33.                System.arraycopy(var4, 0, this.m_strArray, 0, var1);
  34.                System.arraycopy(var4, var1, this.m_strArray, var1 + 1, this.m_nNoElements - var1);
  35.                ++this.m_nNoElements;
  36.                var3 = true;
  37.             }
  38.          }
  39.       }
  40.  
  41.       return var3;
  42.    }
  43.  
  44.    boolean Add(String var1) {
  45.       return this.SetAtGrow(this.m_nNoElements, var1);
  46.    }
  47.  
  48.    boolean RemoveAt(int var1) {
  49.       boolean var2 = false;
  50.       if (var1 >= 0 && var1 < this.m_nNoElements) {
  51.          String[] var3 = new String[this.m_nNoElements];
  52.          System.arraycopy(this.m_strArray, 0, var3, 0, this.m_nNoElements);
  53.          this.m_strArray = new String[this.m_nNoElements - 1];
  54.          System.arraycopy(var3, 0, this.m_strArray, 0, var1);
  55.          System.arraycopy(var3, var1 + 1, this.m_strArray, var1, this.m_nNoElements - (var1 + 1));
  56.          this.m_nNoElements += -1;
  57.          var2 = true;
  58.       }
  59.  
  60.       return var2;
  61.    }
  62.  
  63.    boolean Copy(CStringArray var1) {
  64.       boolean var2 = false;
  65.       this.SetSize(var1.GetSize());
  66.  
  67.       for(int var3 = 0; var3 < this.m_nNoElements; ++var3) {
  68.          if (!this.SetAt(var3, var1.GetAt(var3))) {
  69.             var2 = false;
  70.             break;
  71.          }
  72.  
  73.          var2 = true;
  74.       }
  75.  
  76.       return var2;
  77.    }
  78.  
  79.    int GetSize() {
  80.       return this.m_nNoElements;
  81.    }
  82.  
  83.    CStringArray() {
  84.       this.m_strArray = new String[0];
  85.       this.m_nNoElements = 0;
  86.    }
  87.  
  88.    CStringArray(int var1) {
  89.       this.SetSize(var1);
  90.    }
  91.  
  92.    boolean SetAtGrow(int var1, String var2) {
  93.       boolean var3 = false;
  94.       if (var1 >= 0) {
  95.          while(!var3) {
  96.             try {
  97.                this.m_strArray[var1] = var2;
  98.                var3 = true;
  99.             } catch (ArrayIndexOutOfBoundsException var5) {
  100.                String[] var4 = new String[var1 + 1];
  101.                System.arraycopy(this.m_strArray, 0, var4, 0, this.m_nNoElements);
  102.                this.m_strArray = new String[var1 + 1];
  103.                System.arraycopy(var4, 0, this.m_strArray, 0, this.m_nNoElements);
  104.                this.m_nNoElements = var1 + 1;
  105.                var3 = false;
  106.             }
  107.          }
  108.       }
  109.  
  110.       return var3;
  111.    }
  112.  
  113.    int GetUpperBound() {
  114.       return this.m_nNoElements - 1;
  115.    }
  116.  
  117.    void RemoveAll() {
  118.       this.SetSize(0);
  119.    }
  120.  
  121.    boolean SetAt(int var1, String var2) {
  122.       boolean var3 = false;
  123.  
  124.       try {
  125.          this.m_strArray[var1] = var2;
  126.          var3 = true;
  127.       } catch (ArrayIndexOutOfBoundsException var4) {
  128.          var3 = false;
  129.       }
  130.  
  131.       return var3;
  132.    }
  133.  
  134.    void LoadFromFile(DataInputStream var1) {
  135.       if (this != null) {
  136.          int var2 = FileLoad.ReadCount(var1);
  137.          this.SetSize(var2);
  138.  
  139.          for(int var3 = 0; var3 < this.m_nNoElements; ++var3) {
  140.             this.m_strArray[var3] = FileLoad.ReadCString(var1);
  141.          }
  142.       }
  143.  
  144.    }
  145. }
  146.